﻿using System;

using BizElements.Core.ProviderComponents;

namespace BizElements.Core
{
    /// <summary>
    /// Contains information about a database catalog.
    /// </summary>
    public interface ICatalog
    {
        #region Properties.

        /// <summary>
        /// Gets database type that holds the catalog.
        /// </summary>
        DbmsType DbmsType { get; }

        /// <summary>
        /// Connection string used to connect to the catalog.
        /// </summary>
        string ConnectionString { get; }

        #endregion

        #region Methods.

        /// <summary>
        /// Creates a connection provider for this catalog.
        /// </summary>
        /// <returns>Connection provider that connects to this catalog.</returns>
        IConnectionProvider CreateConnectionProvider();

        #endregion
    }
}